The invention can be used in a large range of fields where process automation is required. The invention may be used for example to control machinery, such as a precision lathe or conveyor belts. It may also be used to automate processes in the fields of telecommunications, and to automate financial and business processes.
Traditionally experts in the field of a relevant technology or business formulate a set of requirements which for example may define a method of implementing a method or analyzing results. These requirements must then be translated into a formal set of processes and rules and converted into computer software processes which then implement the requirements.
For example a new pricing structure for gas and electricity may be devised by an energy supply company. The company managers and accountants will write a set of criteria by which the pricing structure is to be generated. In a simple example these criteria may include the cost to the company, the quantity used, the overheads and outgoings connected with supply and the profit to be achieved. These criteria, and their relationship to each other, might first be embodied in a written report. They must then be converted into a clear sequence of steps, for example by illustrating them in a flow chart diagram, and eventually a computer programmer translates the sequence of steps into computer code embodying the required process and rules to implement the new pricing structure.
This is an expensive and time consuming exercise and is vulnerable to the introduction of errors in the interpretation of the requirements and their translation into a finished software product because of the number of layers of personnel involved and the different “languages” or models of the world that they use.
Software packages are available to assist in the formulation of processes and rules but they are difficult for a non-computer expert to use directly and it is still necessary to employ an information technology expert. It is also known to use a data driven software model; see for example Dataflow Machine Architecture, Arthur H Veen, ACM Computing Surveys, Vol 18, No 4, December 1986.